home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Freeware 2002 November
/
SGI Freeware 2002 November - Disc 2.iso
/
dist
/
fw_glimpse.idb
/
usr
/
freeware
/
src
/
glimpse-3.0
/
libtemplate
/
template
/
mktemplate.z
/
mktemplate
Wrap
Text File
|
1997-09-09
|
4KB
|
94 lines
: # *-*-perl-*-*
eval 'exec perl -S $0 "$@"'
if $running_under_some_shell;
#
# mktemplate - Converts an easy-to-write template into a SOIF template.
# Not very robust.
#
# Usage: mktemplate [file ...]
#
# Input format:
#
# @FILE { url
# Attribute-Name-1:\tDATA
# Attribute-Name-2:\tDATA
# ...
# Attribute-Name-n:\tDATA
# }
#
# The Attributes must begin in column 0 and have one tab after the colon.
# And the DATA must be on a single line.
#
# Darren Hardy, hardy@cs.colorado.edu, May 1994
#
#######################################################################
#
# Copyright (c) 1994. All rights reserved.
# Mic Bowman of Transarc Corporation.
# Peter Danzig of the University of Southern California.
# Darren R. Hardy of the University of Colorado at Boulder.
# Udi Manber of the University of Arizona.
# Michael F. Schwartz of the University of Colorado at Boulder.
#
# This copyright notice applies to all code in Harvest other than subsystems
# developed elsewhere, which contain other copyright notices in their source
# text.
#
# The Harvest software was developed by the Internet Research Task Force
# Research Group on Resource Discovery (IRTF-RD). The Harvest software may
# be used for academic, research, government, and internal business purposes
# without charge. The Harvest software may not be sold or distributed to
# commercial clients or partners without explicit permission from the
# copyright holders.
#
# The Harvest software is provided "as is", without express or implied
# warranty, and with no support nor obligation to assist in its use,
# correction, modification or enhancement. We assume no liability with
# respect to the infringement of copyrights, trade secrets, or any patents,
# and are not responsible for consequential damages. Proper use of the
# Harvest software is entirely the responsibility of the user.
#
# For those who are using Harvest for non-commercial purposes, you may make
# derivative works, subject to the following constraints:
# 1. You must include the above copyright notice and these
# accompanying paragraphs in all forms of derivative works,
# and any documentation and other materials related to such
# distribution and use acknowledge that the software was
# developed at the above institutions.
# 2. You must notify IRTF-RD regarding your distribution of the
# derivative work.
# 3. You must clearly notify users that your are distributing a
# modified version and not the original Harvest software.
# 4. Any derivative product is also subject to the restrictions of
# the copyright, including distribution and use limitations.
#
#######################################################################
while (<>) {
next if (/^\n/o);
do print_template() if (/^}/o);
$top_line = $_ if (/^\@\w+/o);
do grab_av($_) if (/^\w+/o);
}
sub grab_av {
local($line) = @_;
$attribute = $1, $data = $2 if ($line =~ /^([^:]*):\t(.*)$/o);
$attribute =~ s/\{\d+\}//; # remove length if present
$values{$attribute} = $data;
}
sub print_template {
print $top_line;
foreach $k (sort keys %values) {
next if (length($values{$k}) < 1);
print $k, "{" , length($values{$k}) , "}:\t";
print "$values{$k}\n";
}
print "}\n\n";
undef $top_line;
foreach $k (sort keys %values) {
undef $values{$k};
}
}